
#include "globals.h"

#include "../GLRenderer.h"

#include <list>

#include "../BSP.h"
#include "../GLMesh.h"
#include "../Entities.h"

using namespace std;

class Camera;

int g_num_threads;

Renderer* g_renderer; 


EditorState g_render_state;

//std::vector<unsigned char> g_pressed_keys;

double	g_cur_time,
		g_delta_time,
		g_prev_time,
		g_time_acc = 0;


//Brush* g_brushes = nullptr;

std::list<Brush> g_brushes;

std::vector<GLStaticMesh> g_static_meshes;

std::vector<std::unique_ptr<BaseEntity>> g_entities;

int g_num_brushes = 0;

BuilderBrush* g_builder_brush;
unique_ptr<SelectionFrame> g_selection_frame;

class TextureWindow;
unique_ptr< TextureWindow > g_tex_window;

class ChooseTextureWindow;
unique_ptr< ChooseTextureWindow > g_choose_tex_window;

GLTexture g_checker_texture;
